Uma História Divergente ocorre quando o histórico de um repositório se divide em múltiplos caminhos não lineares. Isso geralmente acontece quando uma ramificação de funcionalidade (como news-hotfix) e a ramificação principal evoluem independentemente após compartilhar um ancestral comum. Essa bifurcação cria uma estrutura interna complexa de instantâneos.
1. O Gatilho da Bifurcação
A divergência começa quando um desenvolvedor executa git commit em uma ramificação local enquanto a ramificação principal também recebe novos instantâneos (por exemplo, uma atualização para index.html). Isso cria um gap topológico onde seu trabalho em about/me.html já não está baseado no estado mais recente do projeto.
2. O Custo da Não Linearidade
Embora o Git gerencie a divergência por meio de mesclagens recursivas, o histórico resultante é frequentemente sujo com commits como "Mesclar ramificação...". Isso torna o histórico do repositório difícil de auditar, pois a sequência de git add e git commit ações em arquivos como news-2.html e about/me.html torna-se visualmente entrelaçada.
3. Desconexão de Instantâneos
Cada commit cria um instantâneo. Quando a história diverge, a estrutura interna da sua ramificação de funcionalidade carece do contexto das alterações concorrentes feitas em outro lugar, exigindo uma estratégia como rebase para alinhar novamente a linha do tempo do projeto.